#ifndef WARPPERJSON_H
#define WRAPPERJSON_H

#include <stdint.h>
#include <stdbool.h>
#include "type.h"
#include "xml_conf.h"

typedef struct tagUEREDIRECT
{
    I32 cell;
    I32 ranType;
    I32 band;
    I8 freqList[128];
    I8 imsiList[256];
} URREDIRECT;

typedef struct tagRegisterMsg
{
    I8 devAddr[DEV_INFO_ADD_LEN];
    I8 phoneNum[DEV_INFO_NUM_LEN];
    I8 devName[DEV_INFO_PAR_LEN];
    I8 devNum[DEV_INFO_PAR_LEN];
    I8 mac[DEV_INFO_PAR_LEN];
    I8 recCause[DEV_INFO_PAR_LEN];	
} RegisterMsg;

typedef struct tagPaStatus
{
    I32 paSwicth;
    I32 pawr;
    I32 temp;
    I32 power;
} PaStatus;

typedef struct tagBbuStatus
{
    I32 active;
    I32 state;
    I32 syncStatus;
    I32 syncMethod;
} BbuStatus;

typedef struct tagDevStauts
{
    I32 wirelessSwitch;
    I32 cpuUsage;
    I32 memUsage;
    I32 devTemp;
    I32 boardTemp;
    PaStatus pa[12];
    BbuStatus bbu[12];
} DevStaus;

typedef struct tagGsmSniffCell
{
    I32 plmn;
    I32 lac;
    I32 arfcn;
    I32 bsic;
    I32 rssi;
    I32 c1;   
} GsmSniffCell;

typedef struct tagGsmSniff
{
    U32 cellNum;
    GsmSniffCell cell[64];
} GsmSniff;

typedef struct tagBlackList
{
    I32 number;
    I8 imsiList[2048];
} BlackList;

#ifdef __cplusplus
extern "C" {
#endif
bool rspMsgConversion(I32 *type, I32 *code, I32 *result, I8 *indata, I8 *outdata, I32 len);
bool msgConversion(I32 type, I32 code,  I8 *data, I8 *outdata, I32 *len);
#ifdef __cplusplus
}
#endif
#endif
